|
The ''Wolfenstein 3D'' engine is the engine that powers ''Wolfenstein 3D''. The biggest part of the engine was programmed by John Carmack. It was written in C and x86 assembly language. It features graphics (ray casting), sound (PCM and IMF), player physics, and game control. ==Features and limitations== To render the walls in pseudo-3D, the game uses ray casting. This technique emits one ray for each column of pixels, checks if it intersects a wall, and draws textures on the screen accordingly, creating a one-dimensional depth buffer against which to clip the scaled sprites that represent enemies, powerups, and props. Before ''Wolfenstein 3D'', the technology had already been used by id Software in 1991 to create ''Hovertank 3D'' and ''Catacomb 3-D'' for Softdisk. Other games using the ''Wolfenstein 3D'' game engine or derivatives of it were also produced, including ''Blake Stone'', ''Corridor 7: Alien Invasion'', ''Operation Body Count'', ''Super 3D Noah's Ark'', ''Rise of the Triad'', and ''Hellraiser'', an unreleased Color Dreams game planned for the PC and the Nintendo Entertainment System. The success of the engine also inspired numerous imitators such as ''Ken's Labyrinth'', ''Nitemare 3D'', ''Isle of the Dead'', and the ''Pie in the Sky'' engine. According to id Software programmer John Carmack, the game's engine was inspired by a technology demo of Looking Glass Studios'/Origin's first-person role-playing video game, ''Ultima Underworld: The Stygian Abyss'' from 1991. Carmack claimed he could make a faster renderer.〔Mallinson, Paul. (2002). (with Paul Neureth and Doug Church, developers of Ultima Underworld ). , Computer and Video Games site.〕 In this he was successful. The ''Wolfenstein 3D'' engine lacks many features present in the Underworld engine, such as ceiling or floor height changes, sloped floors, curved walls, and lighting, but it ran well on relatively weak hardware. The secret behind engine's performance is vertical scanline scaling algorithm. Unlike later engines and hardware rasterizers, the texture coordinate for the pixel is not calculated at runtime. Instead, a fixed set of several hundred rendering functions is generated during game startup (or viewport size change) where all memory offsets are fixed. To keep the number of these procedures small, height is quantized, which can be easily seen when player is close to the wall, but not looking at it at a right angle. Features include: * Sprites used for objects * Textured walls * Greatly reduced CPU usage compared to other engines. Limitations of the engine include: * Looking and/or moving up and down is not supported. * It does not support differences in brightness of lights. * It does not support differences in geometrical height. "Holo-walls" are walls created by mapmakers using a glitch in the PC version's engine. They are walls that the player can walk through, and are used in some total conversions to simulate windows that players can climb through, and hedges that players can walk through. One way of creating holo-walls is to place a dead guard in a wall. 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「Wolfenstein 3D engine」の詳細全文を読む スポンサード リンク
|